#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int q;
ll n,m,k;
int main(void){
    scanf("%d",&q);
    while(q--){
        scanf("%lld%lld%lld",&n,&m,&k);
        if(n>m){
            swap(n,m);
        }
        ll ans=n;
        //先斜着走到n n
        if((m-n)%2==1){
            ans+=(m-1-n);
            k-=ans;
            if(k<=0){
                printf("-1\n");
            }else{
                ans+=(k-1);
                //来回斜着走 最后走一步横的 答案就是k-1
                printf("%lld\n",ans);
            }
        }else{
            ans+=(m-n);
            k-=ans;
            if(k<0){
                printf("-1\n");
            }else{
                if(k%2==0){
                    //全部走斜
                    printf("%lld\n",ans+k);
                }else{
                    //剩下奇数步数 相差偶数格 两步用来走一格 其他一样走斜的
                    printf("%lld\n",ans+(k-2));
                }
            }
        }
    }
    return 0;
}